<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>message接口测试报告</title>
    <meta name="generator" content="HTMLTestRunner 0.8.2"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    
<style type="text/css" media="screen">
body        { font-family: verdana, arial, helvetica, sans-serif; font-size: 80%; }
table       { font-size: 100%; }
pre         { }

/* -- heading ---------------------------------------------------------------------- */
h1 {
	font-size: 16pt;
	color: gray;
}
.heading {
    margin-top: 0ex;
    margin-bottom: 1ex;
}

.heading .attribute {
    margin-top: 1ex;
    margin-bottom: 0;
}

.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}

/* -- css div popup ------------------------------------------------------------------------ */
a.popup_link {
}

a.popup_link:hover {
    color: red;
}

.popup_window {
    display: none;
    position: relative;
    left: 0px;
    top: 0px;
    /*border: solid #627173 1px; */
    padding: 10px;
    background-color: #E6E6D6;
    font-family: "Lucida Console", "Courier New", Courier, monospace;
    text-align: left;
    font-size: 8pt;
    width: 500px;
}

}
/* -- report ------------------------------------------------------------------------ */
#show_detail_line {
    margin-top: 3ex;
    margin-bottom: 1ex;
}
#result_table {
    width: 80%;
    border-collapse: collapse;
    border: 1px solid #777;
}
#header_row {
    font-weight: bold;
    color: white;
    background-color: #777;
}
#result_table td {
    border: 1px solid #777;
    padding: 2px;
}
#total_row  { font-weight: bold; }
.passClass  { background-color: #6c6; }
.failClass  { background-color: #c60; }
.errorClass { background-color: #c00; }
.passCase   { color: #6c6; }
.failCase   { color: #c60; font-weight: bold; }
.errorCase  { color: #c00; font-weight: bold; }
.hiddenRow  { display: none; }
.testcase   { margin-left: 2em; }


/* -- ending ---------------------------------------------------------------------- */
#ending {
}

</style>

</head>
<body>
<script language="javascript" type="text/javascript"><!--
output_list = Array();

/* level - 0:Summary; 1:Failed; 2:All */
function showCase(level) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (id.substr(0,2) == 'ft') {
            if (level < 1) {
                tr.className = 'hiddenRow';
            }
            else {
                tr.className = '';
            }
        }
        if (id.substr(0,2) == 'pt') {
            if (level > 1) {
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
        }
    }
}


function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        tid0 = 't' + cid.substr(1) + '.' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        if (toHide) {
            document.getElementById('div_'+tid).style.display = 'none'
            document.getElementById(tid).className = 'hiddenRow';
        }
        else {
            document.getElementById(tid).className = '';
        }
    }
}


function showTestDetail(div_id){
    var details_div = document.getElementById(div_id)
    var displayState = details_div.style.display
    // alert(displayState)
    if (displayState != 'block' ) {
        displayState = 'block'
        details_div.style.display = 'block'
    }
    else {
        details_div.style.display = 'none'
    }
}


function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}

/* obsoleted by detail in <div>
function showOutput(id, name) {
    var w = window.open("", //url
                    name,
                    "resizable,scrollbars,status,width=800,height=450");
    d = w.document;
    d.write("<pre>");
    d.write(html_escape(output_list[id]));
    d.write("\n");
    d.write("<a href='javascript:window.close()'>close</a>\n");
    d.write("</pre>\n");
    d.close();
}
*/
--></script>

<div class='heading'>
<h1>message接口测试报告</h1>
<p class='attribute'><strong>Start Time:</strong> 2019-08-02 15:57:54</p>
<p class='attribute'><strong>Duration:</strong> 0:01:46.293842</p>
<p class='attribute'><strong>Status:</strong> Pass 4</p>

<p class='description'>接口功能测试</p>
</div>



<p id='show_detail_line'>Show
<a href='javascript:showCase(0)'>Summary</a>
<a href='javascript:showCase(1)'>Failed</a>
<a href='javascript:showCase(2)'>All</a>
</p>
<table id='result_table'>
<colgroup>
<col align='left' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
<col align='right' />
</colgroup>
<tr id='header_row'>
    <td>Test Group/Test case</td>
    <td>Count</td>
    <td>Pass</td>
    <td>Fail</td>
    <td>Error</td>
    <td>View</td>
</tr>

<tr class='passClass'>
    <td>test_message.TestMessage</td>
    <td>4</td>
    <td>4</td>
    <td>0</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1',4)">Detail</a></td>
</tr>

<tr id='pt1.1' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_sendBatchNoticeMsg</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.1')" >
        pass</a>

    <div id='div_pt1.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.1: star
批量发送通知短信
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:57:55', 'spendTime': '468'}


短信签名必传
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:57:56', 'spendTime': '12'}


短信签名格式验证（str）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:57:57', 'spendTime': '207'}


短信签名错误
{'code': '500', 'data': [{'code': '1001', 'content': '【乐乎】'}], 'msg': '签名不存在', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:57:59', 'spendTime': '9'}


场景编码必传
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:00', 'spendTime': '9'}


场景编码格式验证（str）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731160126', 'responseTime': '2019-08-02 15:58:01', 'spendTime': '309'}


场景编码错误
{'code': '500', 'data': '', 'msg': '场景不存在', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:58:02', 'spendTime': '8'}


模板id必传
{'code': '601', 'msg': '短信模板不能为空;', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:58:03', 'spendTime': '222'}


模板id格式验证（str）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:58:05', 'spendTime': '225'}


模板id不存在(数字)
{'code': '500', 'data': [{'code': '2001', 'content': '亲爱的乐友${tenantName}${appellation}，您居住的房间${roomNumber}有账单${billPeriod} ,共${billAmount}元 需在${statementTime}前支付，为了避免账单逾期产生滞纳金给您带来的不便，请及时支付账单，祝您生活愉快。'}, {'code': '2002', 'content': '【测试1234】'}], 'msg': '模板不存在', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:58:06', 'spendTime': '11'}


模板id不存在(非数字)
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:58:07', 'spendTime': '9'}


模板id已删除
{'code': '500', 'data': [{'code': '2001', 'content': '亲爱的乐友${tenantName}${appellation}，您居住的房间${roomNumber}有账单${billPeriod} ,共${billAmount}元 需在${statementTime}前支付，为了避免账单逾期产生滞纳金给您带来的不便，请及时支付账单，祝您生活愉快。'}, {'code': '2002', 'content': '【测试1234】'}], 'msg': '模板不存在', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:09', 'spendTime': '8'}


模板id长度超过数据库最大长度
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731160126', 'responseTime': '2019-08-02 15:58:10', 'spendTime': '12'}


短信内容：电话必填（all）
{'code': '601', 'data': '', 'msg': '手机号不能为空', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:58:11', 'spendTime': '9'}


短信内容：电话必填（部分）
{'code': '601', 'data': '', 'msg': '手机号不能为空', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:58:12', 'spendTime': '8'}


电话数字类型验证（空格）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:58:13', 'spendTime': '25'}


电话数字类型验证（字母）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:58:14', 'spendTime': '8'}


电话数字类型验证（符号）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:15', 'spendTime': '8'}


电话位数验证（小于11位）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:58:16', 'spendTime': '8'}


电话位数验证（大于11位）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:58:18', 'spendTime': '8'}


短信内容：模板内容和参数不对应
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:58:19', 'spendTime': '29'}


短信内容：模板缺少参数
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:58:20', 'spendTime': '23'}


短信内容：短信参数必填（全部为空）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:58:21', 'spendTime': '241'}


短信内容：短信参数必填（部分为空）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:23', 'spendTime': '226'}


参数必传（signature）
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:58:24', 'spendTime': '17'}


参数必传（content）
{'code': '601', 'msg': '信息主体不能为空;', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:58:25', 'spendTime': '8'}


参数必传（sceneCode）
{'code': '601', 'msg': '短信模板不能为空;', 'requestSeqNo': 'wt_null_1564731184290', 'responseTime': '2019-08-02 15:58:26', 'spendTime': '8'}


参数必传（template）
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:58:27', 'spendTime': '8'}


method错误
{'timestamp': 1564732708838, 'status': 405, 'error': 'Method Not Allowed', 'exception': 'org.springframework.web.HttpRequestMethodNotSupportedException', 'message': "Request method 'GET' not supported", 'path': '/api/v1/sms/sendBatchNoticeMsg'}


end


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt1.2' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_sendCodeMsg</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.2')" >
        pass</a>

    <div id='div_pt1.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.2: star
发送验证码
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:58:30', 'spendTime': '182'}


电话必填
{'code': '601', 'msg': '手机号格式不正确;用户手机号不能为空;', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:58:31', 'spendTime': '12'}


电话数字类型验证（空格）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:58:32', 'spendTime': '10'}


电话数字类型验证（字母）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:33', 'spendTime': '45'}


电话数字类型验证（符号）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:58:34', 'spendTime': '8'}


电话位数验证（小于11位）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731184290', 'responseTime': '2019-08-02 15:58:35', 'spendTime': '8'}


电话位数验证（大于11位）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:58:37', 'spendTime': '8'}


短信签名必传
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:58:38', 'spendTime': '10'}


短信签名格式验证（str）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:58:39', 'spendTime': '178'}


场景编码必传
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:58:40', 'spendTime': '8'}


场景编码格式验证（int）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:58:42', 'spendTime': '158'}


method错误
{'timestamp': 1564732723264, 'status': 405, 'error': 'Method Not Allowed', 'exception': 'org.springframework.web.HttpRequestMethodNotSupportedException', 'message': "Request method 'GET' not supported", 'path': '/api/v1/sms/sendCodeMsg'}


缺少参数（phone）
{'code': '601', 'msg': '用户手机号不能为空;', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:58:44', 'spendTime': '7'}


缺少参数（signature）
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:58:45', 'spendTime': '11'}


缺少参数（sceneCode）
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:46', 'spendTime': '7'}


end


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt1.3' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_sendMarketMsg</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.3')" >
        pass</a>

    <div id='div_pt1.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.3: star
发送营销短信（单个手机号）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:58:47', 'spendTime': '34'}


发送营销短信（不同的2个手机号）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:58:48', 'spendTime': '25'}


发送营销短信（不同的2个手机号，一对一错）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:58:50', 'spendTime': '9'}


发送营销短信（相同的2个手机号）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:58:51', 'spendTime': '51'}


发送营销短信（相同的多个手机号）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:58:52', 'spendTime': '23'}


电话必填
{'code': '601', 'msg': '用户手机号不能为空;', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:58:53', 'spendTime': '8'}


电话数字类型验证（空格）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:58:54', 'spendTime': '6'}


电话数字类型验证（字母）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731160126', 'responseTime': '2019-08-02 15:58:55', 'spendTime': '8'}


电话数字类型验证（符号）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:58:56', 'spendTime': '7'}


电话位数验证（小于11位）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:58:57', 'spendTime': '7'}


电话位数验证（大于11位）
{'code': '601', 'data': '', 'msg': '手机号格式不正确', 'requestSeqNo': 'wt_null_1564731184290', 'responseTime': '2019-08-02 15:58:58', 'spendTime': '6'}


短信签名必传
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:59:00', 'spendTime': '7'}


短信签名格式验证（str）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:59:01', 'spendTime': '37'}


场景编码必传
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:59:02', 'spendTime': '8'}


场景编码格式验证（int）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:59:03', 'spendTime': '26'}


短信内容不能为空
{'code': '601', 'msg': '短信内容不能为空;', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:59:04', 'spendTime': '8'}


短信内容格式（特殊符号）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:59:05', 'spendTime': '25'}


短信内容字数（=数据库最长字数）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:59:06', 'spendTime': '23'}


短信内容字数（大于数据库最长字数）
{'code': '601', 'msg': '短信内容超出最长限制;', 'requestSeqNo': 'wt_null_1564731184290', 'responseTime': '2019-08-02 15:59:07', 'spendTime': '27'}


method错误
{'timestamp': 1564732749071, 'status': 405, 'error': 'Method Not Allowed', 'exception': 'org.springframework.web.HttpRequestMethodNotSupportedException', 'message': "Request method 'GET' not supported", 'path': '/api/v1/sms/sendMarketMsg'}


end


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='pt1.4' class='hiddenRow'>
    <td class='none'><div class='testcase'>test_sendNoticeMsg</div></td>
    <td colspan='5' align='center'>

    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.4')" >
        pass</a>

    <div id='div_pt1.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.4: star
发送通知短信
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:59:10', 'spendTime': '152'}


电话必填
{'code': '601', 'msg': '手机号格式不正确;手机号不能为空;', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:59:11', 'spendTime': '6'}


电话数字类型验证（空格）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:59:12', 'spendTime': '8'}


电话数字类型验证（字母）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:59:13', 'spendTime': '7'}


电话数字类型验证（符号）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:59:14', 'spendTime': '8'}


电话位数验证（小于11位）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731165950', 'responseTime': '2019-08-02 15:59:15', 'spendTime': '6'}


电话位数验证（大于11位）
{'code': '601', 'msg': '手机号格式不正确;', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:59:17', 'spendTime': '7'}


短信签名必传
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731160126', 'responseTime': '2019-08-02 15:59:18', 'spendTime': '7'}


短信签名格式验证（str）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:59:19', 'spendTime': '135'}


场景编码必传
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731184290', 'responseTime': '2019-08-02 15:59:20', 'spendTime': '7'}


模板id必传
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:59:21', 'spendTime': '8'}


模板id不存在(数字)
{'code': '500', 'data': '', 'msg': '场景没有接口权限', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:59:22', 'spendTime': '6'}


模板id不存在(非数字)
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:59:23', 'spendTime': '14'}


模板id已删除
{'code': '500', 'data': [{'code': '2001', 'content': '亲爱的乐友${tenantName}${appellation}，您居住的房间${roomNumber}有账单${billPeriod} ,共${billAmount}元 需在${statementTime}前支付，为了避免账单逾期产生滞纳金给您带来的不便，请及时支付账单，祝您生活愉快。'}, {'code': '2002', 'content': '【测试1234】'}], 'msg': '模板不存在', 'requestSeqNo': 'wt_null_1564731164164', 'responseTime': '2019-08-02 15:59:24', 'spendTime': '8'}


模板id长度超过数据库最大长度
{'code': '500', 'msg': '业务处理异常', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:59:26', 'spendTime': '8'}


模板内容和参数不对应
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731160126', 'responseTime': '2019-08-02 15:59:27', 'spendTime': '133'}


模板缺少参数
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:59:28', 'spendTime': '166'}


短信参数必填（全部为空）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731158430', 'responseTime': '2019-08-02 15:59:29', 'spendTime': '134'}


短信参数必填（部分为空）
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731184290', 'responseTime': '2019-08-02 15:59:31', 'spendTime': '129'}


短信参数长度超过数据库最大长度
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:59:32', 'spendTime': '146'}


参数必传（phone）
{'code': '601', 'msg': '手机号不能为空;', 'requestSeqNo': 'wt_null_1564731166464', 'responseTime': '2019-08-02 15:59:33', 'spendTime': '8'}


参数必传（signature）
{'code': '601', 'msg': '短信签名不能为空;', 'requestSeqNo': 'wt_null_1564731161726', 'responseTime': '2019-08-02 15:59:34', 'spendTime': '14'}


参数必传（parameter）
{'code': '601', 'msg': '模板参数不能为空;', 'requestSeqNo': 'wt_null_1564731155507', 'responseTime': '2019-08-02 15:59:35', 'spendTime': '7'}


参数必传（sceneCode）
{'code': '601', 'msg': '场景不能为空;', 'requestSeqNo': 'wt_null_1564731160126', 'responseTime': '2019-08-02 15:59:36', 'spendTime': '7'}


参数必传（template）
{'code': '601', 'msg': '短信模板不能为空;', 'requestSeqNo': 'wt_null_1564731167004', 'responseTime': '2019-08-02 15:59:37', 'spendTime': '7'}


method错误
{'timestamp': 1564732778802, 'status': 405, 'error': 'Method Not Allowed', 'exception': 'org.springframework.web.HttpRequestMethodNotSupportedException', 'message': "Request method 'GET' not supported", 'path': '/api/v1/sms/sendNoticeMsg'}


短信内容：短信参数长度超过数据库最大长度
{'code': '200', 'data': '', 'msg': '成功', 'requestSeqNo': 'wt_null_1564731155912', 'responseTime': '2019-08-02 15:59:40', 'spendTime': '148'}


end


        </pre>
    </div>
    <!--css div popup end-->

    </td>
</tr>

<tr id='total_row'>
    <td>Total</td>
    <td>4</td>
    <td>4</td>
    <td>0</td>
    <td>0</td>
    <td>&nbsp;</td>
</tr>
</table>

<div id='ending'>&nbsp;</div>

</body>
</html>
